package com.ljy.my_study.java事件机制;

import java.util.ArrayList;
import java.util.EventListener;
import java.util.List;

/** 
* @author James
* @date 2018年8月25日 
*/
public class Source {
	private int status=0;
	
	private List<EventListener> eventListenerList=new ArrayList<>();
	
	public void addEventListener(EventListener eventListener) {
		this.eventListenerList.add(eventListener);
	}
	
	public int getStatus() {
		return this.status;
	}
	
	public void notifyListeners() {
		for(EventListener el:eventListenerList) {
			((StatusEventListener)el).handleEvent(new MyEvent(this));
		}
	}
	
	public void changeStatus() {
		status=status^1;
		notifyListeners();
	}
}
